U.S. Pat. No. 4,578,812 issued Mar. 25, 1986 to Yui discloses hardware for performing high speed two dimensional interpolation on a digital image by the method of cubic convolution. In the two-dimensional cubic convolution interpolation algorithm implemented by the hardware, sixteen pixels from the original image surrounding an interpolation site in a two-dimensional array are simultaneously multiplied by 16 corresponding interpolation coefficients (weight factors) and the 16 products are added to produce the interpolated value at the interpolation site. The interpolation coefficients represent samples of a two dimensional cubic convolution interpolation kernel, and are stored in a digital memory. The cubic convolution kernel is sampled at a granularity of 32.times.32 samples between original pixels. The samples are stored as 12 -bit values. As a result, the total storage requirements for the interpolation coefficients is 32.times.32.times.12.times.16=196,608 bits, where the "16" indicates the 16 coefficients applied to the 16 pixel values to obtain the interpolated value. The storage requirement is thus about 192K bits for the interpolation coefficients.
For high resolution images, such as diagnostic x-ray images, it is desirable to sample the cubic convolution kernel at a much finer granularity, say 256.times.256, and to record the coefficients to a higher accuracy, say 16 bits, to provide a more accurate interpolation and finer divisions between magnification choices. This would require 256.times.256.times.16.times.16 which approximately equals 16 M bits of read only memory for storing the interpolation coefficients. The provision of such a large amount of read only memory would be very costly and difficult to address.
Furthermore, it is known that for certain types of images cubic convolution does not produce an optimum interpolated image and other interpolation algorithms such as bilinear or replication are preferred. U.S. Pat. No. 4,468,693 discloses an interpolator that can be manually switched between cubic convolution, bilinear, and nearest neighbor interpolation depending upon the kinds of images to be interpolated. However, when two kinds of subject matter such as pictorial information and text exist in the same image, no selection will provide optimum interpolation. It is therefore the object of the present invention to provide apparatus for performing a variety of interpolation techniques on a digital image that overcomes the shortcoming noted above.